1. Field of the Invention
The present invention relates to communications systems and, more particularly, to methods and systems for determining the location of mobile stations, such as cellular telephones, personal data assistants (PDAs), or notebook computers for instance.
2. Description of Related Art
Mobile stations that enable voice and data communications over an air interface are now commonplace. In a typical arrangement, a mobile station communicates via an air interface with a radio access system, which provides connectivity with a larger communications network such as the public switched telephone network (PSTN), an intranet or the Internet for instance. The radio access system may typically include a base transceiver station (BTS) (having an antenna that provides a radiation pattern defining the air interface), which is coupled or integrated with a base station controller (BSC). The BSC may then be coupled or integrated with a switch (e.g., a mobile switching center (MSC)) or gateway (e.g., a wireless access gateway) that connects with the communications network. With this arrangement, a user of the mobile station may thereby engage in a communication via the air interface and radio access system with an entity on the communications network.
To initiate a conventional voice call, for instance, a user may direct the mobile station to send dialed digits over the air interface. An MSC may then receive the dialed digits, determine where to route the call, and, through industry standard signaling mechanisms, seek to set up a voice call path or session via the communications network with a destination corresponding to the dialed digits. Once the destination answers, the MSC may then connect the call with the mobile station, and voice communication may commence.
Similarly, to engage in an exemplary data communication session, a user of the mobile station may direct the mobile station to send data via the air interface and radio access system to a data server (e.g., web server) on the Internet or other data network, and the data server may send data via the radio access system and air interface to the mobile station.
To facilitate such data communications, many mobile stations are now equipped (e.g., programmed) with a microbrowser application, which enables a user to engage in a scaled down version of the same sort of web browsing that is conventionally conducted from a desktop personal computer. In practice, the user typically interacts with the microbrowser through a display screen and keypad on the mobile station. The microbrowser exchanges instructions with a server to perform functions requested by the user, and it may also interpret instructions received by the server that describe the layout and content of the microbrowser screen or that request the microbrowser to query the user for information.
Typically, the microbrowser communicates with the server in accordance with a standard protocol, such as the Wireless Application Protocol (WAP) for instance. (In the usual arrangement, the server is a WAP server, which functions as an interface between conventional web servers and WAP-based clients, i.e., mobile stations. In this regard, the WAP server may receive a full HTML page from a conventional web server and translate the page into an abridged form suitable for presenting on the smaller display screens found on most WAP clients, and vice versa for data provided by the mobile WAP client.)
WAP generally employs a markup language, such as WML (wireless markup language), HDML (handheld device markup language) or iMode, for transferring content. These markup languages include a set of instructions for commanding a microbrowser to perform particular functions, such as displaying text, requesting user input, or sending data to the server for instance.
The markup language instructions are generally referred to as “tags.” Markup languages typically use a “tag document” embodying a set of tags to describe the content of a screen. The microbrowser interprets the tag document and displays content on the screen of the mobile station or takes other actions accordingly.
In WML and HDML, a tag document that describes the layout of a single screen is typically referred to as a “card,” and a tag document (or set of documents) that describes the layout of multiple screens is typically referred to as a “deck of cards.” A user navigates in the microbrowser environment, i.e., the screens, by moving through one or more cards.
Microbrowsers commonly display three types of cards, which may be referred to generically as text-cards, entry-cards, and choice-cards. A text-card is a card that displays text (or, equivalently, other characters, images or media). An entry-card also typically displays text but additionally displays a text entry segment that allows the user to enter text. A choice-card displays a list of options selectable by the user. Conventionally, the list of options may be displayed in a menu format in which each option is accompanied by a corresponding number. Thus, the user is able to select an option by pressing its corresponding number key on the keypad or by scrolling to the option and engaging a designated key (e.g., a softkey) on the mobile station keypad or other user interface.
A choice-card may be programmed so that selection of particular options will cause the microbrowser to perform a corresponding function. For example, one option may take the form of a hyperlink, which, when selected by a user, causes the microbrowser to display another designated card from a deck or to send a navigation command to the server asking the server to send a new card (e.g., one associated with another web site). Another option may, when selected, cause the microbrowser to send other designated data to the server. Still other options may, when selected, cause the microbrowser and/or mobile station to take some other action. Other examples are possible as well.
Similarly, it is possible that a text-card or other sort of card may be programmed with selectable links that are designed to cause the microbrowser to take various actions when selected. For example, a text-card may be programmed to define a function that the microbrowser should take in response to user instruction (e.g., selection of a softkey or stylus-based selection of an item on a touch-sensitive screen for instance).
The ability to engage in data sessions at mobile stations has opened up a myriad of possibilities. Mobile station users can now access a wide variety of information services from almost anywhere where mobile communications are supported. The information services can take a variety of forms, including, for instance, stock quotes, sports scores, weather reports, traffic reports, and information about locations of facilities such as restaurants, hotels and gas stations.
Some of the information services that a user might access from a data-capable mobile station may be location-based. For instance, an information service might be arranged to provide weather or traffic conditions for a particular geographic location, or to provide the street addresses of a designated type of restaurant (e.g., all pizza restaurants) in particular geographic location.
Advantageously, such location-based services may be keyed to the location of the mobile station, so that a user of the mobile station can access the information service and obtain information about the user's present location. For instance, a web service provider might allow a user to query a data server for the addresses of all pizza restaurants located near the user's current location. As another example, a web service provider might allow a user to request traffic conditions on major roads near the user's current location. The data server might then send the requested location-based information to the microbrowser, and the microbrowser may cause the information to be displayed for viewing by the user.
Alternatively, the location-based service may involve having the data server take a location-based action even without providing location-based information to the mobile station for presentation to the user. For example, based on the fact that a mobile station is in a particular location, the data server might send a particular message to some other entity or take some other responsive action.
In order to facilitate such location-based services, however, a mechanism should be provided for conveying a user's current location to a data server.